/**
 * Por Joshua
 * Descripcion o proposito
 * @class namespace
 *
 * @extends clasePadre
 * @autor Ing. Josue Hernandez Gomez<br>
 *        joshua@extjs.mx<br>
 *        http://www.joshua.com.mx
 * @fecha 11/25/12 7:00 PM. Mexico DF
 */

Ext.namespace('joshua.usuarios');



joshua.usuarios.ventana_form=undefined;


joshua.usuarios.fielset={
	xtype: 'fieldset',
	title: 'Informaci&#243n Obligatoria',
	iconCls:'vcard',
	defaults: {width: 150},
	labelWidth:120,
	autoHeight:true,
	defaultType: 'textfield',
	layout:'form',
	items: [{
	    fieldLabel: 'Login',
	    name: 'txt_usuario',
		id:'txt_usuariod',
	    allowBlank:false,
		vtype:'nombre'
	},{
	    fieldLabel: 'Contrasena',
		name: 'pwd_pass',
		inputType:'password',
		id: 'pwd_pass',
		vtype: 'password'
	},{
	    fieldLabel: 'Verificar contrasena',
		name: 'pwd_vpass',
		id: 'pwd_vpass',
		inputType:'password',
		vtype: 'vpassword',
		initialPassField: 'pwd_pass'
	},
	{
		xtype:'comboNivelAcceso',
		fieldLabel: 'Nivel de Acceso',
		name: 'slt_nivel',
		allowBlank:false
	},{
		xtype:'comboSucursales',
		fieldLabel: 'Sucursal',
		name: 'sucursal',
		id:'cmsucur',
		allowBlank:false
	}
]};//fin config


joshua.usuarios.form=Ext.extend(Ext.FormPanel,{
	labelWidth: 120,
	url:joshua.url,
	frame:true,
    waitMsgTarget: true,
	width: 190,
	height:170,
 	cmd:'',
	idActualizar:'',

	//	sltSucursal:new joshua.usuarios.SucCombox({fieldLabel: 'Sucursal'}),
 	initComponent:function(){

		var config={
			items:[joshua.usuarios.fielset,joshua.persona.tabs]
		};//fin config


		Ext.apply(this,Ext.apply(this.initialConfig,config));

		joshua.usuarios.form.superclass.initComponent.apply(this,arguments);
 	},

 	onRender:function(){
 		joshua.usuarios.form.superclass.onRender.apply(this,arguments);

//for(c in this.form)
//console.info(c+' tiene '+this.form[c]);
 		//Ext.getBody().mask();//getForm().waitMsgTarget=this.getEl();
 	},//fin onRender

	guardarForm:function(){
		//establecemos el md5
		if (this.getForm().isValid()) {
			var passF=Ext.getCmp('pwd_pass');
			var passV=Ext.getCmp('pwd_vpass');
			var pass_crip = hex_md5(passF.getValue());
			passF.setValue(pass_crip);
			pass_crip = hex_md5(passV.getValue());
			passV.setValue(pass_crip);
			var w=this;
			this.getForm().submit({
				url:"Servicios/s.php",
				params:{
					cmd:this.cmd,
					txtId:this.idActualizar,
					className:'Usuario'
				},
				success:function (){
                                        joshua.usuarios.grid.store.load();
					w.limpiarForm();
					joshua.usuarios.ventana_form.hide();
				},
                                failure:function(form,action){
                                    var respuesta= Ext.util.JSON.decode(action.response.responseText)
                                    //console.info(respuesta);
                                    joshua.funciones.alert('delete','Error',respuesta.error,'');
                                    Ext.getCmp('pwd_pass').reset();
                                    Ext.getCmp('pwd_vpass').reset();
                                },
				waitMsg:'Guardando'
			});
		}else
		{
                    joshua.funciones.alert('aviso','Aviso!',"Faltan datos por completar o algunos no son validos");
		}

 	},//eo guardarForm
 	cargarForm:function(id){

		//se le asocia el mensaje de "cargando..."
		this.getForm().waitMsgTarget=this.getEl();

 		this.load({
 			url:joshua.url,
 			scope:this,
 			params:{cmd:'cargar',txtId:id,className:'Usuario'},
 			waitMsg:'Cargando...',
                        success:function(a,action){
				var respuesta=Ext.util.JSON.decode(action.response.responseText);
                                Ext.getCmp('cmsucur').store.load();
                                setTimeout( function (){Ext.getCmp('cmsucur').setValue(respuesta.data.id_sucursal);},300);
				//this.id_remitente= ;
                        }
		//		this.joshua.sucursales.store.load();
		//	}
 		});
 		Ext.getCmp('txt_usuariod').disable();
 	},//fin cargar
 	limpiarForm:function(){
		Ext.getCmp('txt_usuariod').enable();
 		this.getForm().reset();
 	}//eo limpiar

});




joshua.usuarios._crearForm= function (){
	joshua.usuarios.formulario=new joshua.usuarios.form();

    joshua.usuarios.ventana_form = new joshua.util.ventana({
		width:450,
		height:450,
		modal:true,
                //renderTo:joshua.usuarios.win.items[0].getEl(),
		items:joshua.usuarios.formulario,
		buttons: [{
                    text     : 'Guardar',
                    iconCls: 'save',
                    handler  : function(){
                        joshua.usuarios.formulario.guardarForm();
                    }
                },{
                    text     : 'Cancelar',
                    iconCls: 'delete',
                    handler  : function(){
                        joshua.usuarios.ventana_form.hide();
                }
            }]
	});
}